# -*- coding: utf-8 -*-

'''
	Classes
'''

class Cartao:
	'''
	documentacao da classe
	representacao de cartoes
	'''
	
	# variavel  de cartoes
	material = 'plastico'
	def __init__(self, numero='', nome=''):
		'''
		Documentacao construtor
		'''
		
		# variavel publica de instancia
		self.nome = nome
		
		# numero assocido a cada cartao
		# representacao sob a forma de uma string
		# variavel privada de instancia
		self.setnumero(numero)
		pass 
	
	#setters e getters
	def setnumero(self, numero):
		'''
		Documentacao do metodo
		'''
		self.__numero = numero
		pass 
	
	def getnumero(self):
		return self.__numero
	
	
	def __str__(self):
		return 'Cartao: {0}'.format(self.getnumero())
	pass 
		

def CartaoNovoEstilo(object):
	'''
	documentacao da classe
	representacao de cartoes
	'''
	
	# variavel  de cartoes
	material = 'plastico'
	def __init__(self, numero='', nome=''):
		'''
		Documentacao construtor
		'''
		
		# variavel publica de instancia
		self.nome = nome
		
		# numero assocido a cada cartao
		# representacao sob a forma de uma string
		# variavel privada de instancia
		self.setnumero(numero)
		pass 
	
	#setters e getters
	def setnumero(self, numero):
		'''
		Documentacao do metodo
		'''
		self.__numero = numero
		pass 
	
	def getnumero(self):
		return self.__numero
	
	
	def __str__(self):
		return 'Cartao: {0}'.format(self.getnumero())
	pass 


def main():
	obj1 = Cartao('13456789')
	obj2 = Cartao('4543416879')
	print Cartao.material
	print obj1.getnumero(), obj1.nome
	obj1.setnumero('8487412')
	obj1.nome = "Marica Chucha"
	print obj1.getnumero(), obj1.nome
	return 0

if __name__ == '__main__':
	main()

